package com.umpay.dto.merBusi.req.consume;


import org.hibernate.validator.constraints.NotEmpty;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;

/**
 * 
 * @ClassName: ConsumeNetBankBusiReq  
 * @Description: 网银消费确认业务处理请求类 
 * @author liuhaidong  
 * @date Jan 22, 2018
 */
public class ConsumeNetBankConfirmBusiReq extends CommonBusiReq {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@NotEmpty(message = "机构号不能为空")
	@Pattern(message="机构号格式不正确")
	private String instId;	//机构号
	private String orderId;	//变长32	商户订单号
	
	private String orderDate;	//定长8	商户订单日期
	private String merId;	//变长8	商户号
	private String userId;	//变长20	
	
	@NotEmpty(message = "金额不能为空")
	@Pattern(message="金额格式不正确")
	private String amount;	//变长13	金额
	private String bproductId;	//变长8	业务产品号
	private String pproductId;	//定长8	产品号
	
	@NotEmpty(message = "交易流水号不能为空")
	@Pattern(message="交易流水号格式不正确")
	private String trace; //流水号
	private String tradeNo;	//交易订单好
	
	@NotEmpty(message = "支付状态不能为空")
	@Pattern(message="支付状态格式不正确")
	private String payState;	//变长128	后台通知地址
	
	private String userType;
	
	@NotEmpty(message = "返回码不能为空")
	@Pattern(message="返回码格式不正确")
	private String retCode;
	
	@NotEmpty(message = "返回信息不能为空")
	@Pattern(message="返回信息格式不正确")
	private String retMsg;
	
	@NotEmpty(message = "通知类型不能为空")
	@Pattern(message="通知类型格式不正确")
	private String notifyType;
	private String bankCheckDate;//网关返回对账日期
	
	public String getBankCheckDate() {
		return bankCheckDate;
	}
	public void setBankCheckDate(String bankCheckDate) {
		this.bankCheckDate = bankCheckDate;
	}
	public String getNotifyType() {
		return notifyType;
	}
	public void setNotifyType(String notifyType) {
		this.notifyType = notifyType;
	}
	public String getRetMsg() {
		return retMsg;
	}
	public void setRetMsg(String retMsg) {
		this.retMsg = retMsg;
	}
	public String getRetCode() {
		return retCode;
	}
	public void setRetCode(String retCode) {
		this.retCode = retCode;
	}
	public String getUserType() {
		return userType;
	}
	public void setUserType(String userType) {
		this.userType = userType;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getOrderDate() {
		return orderDate;
	}
	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
	public String getBproductId() {
		return bproductId;
	}
	public void setBproductId(String bproductId) {
		this.bproductId = bproductId;
	}
	public String getPproductId() {
		return pproductId;
	}
	public void setPproductId(String pproductId) {
		this.pproductId = pproductId;
	}
	public String getTrace() {
		return trace;
	}
	public void setTrace(String trace) {
		this.trace = trace;
	}
	public String getTradeNo() {
		return tradeNo;
	}
	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}
	public String getPayState() {
		return payState;
	}
	public void setPayState(String payState) {
		this.payState = payState;
	}
	@Override
	public String toString() {
		return "ConsumeNetBankConfirmBusiReq [orderId=" + orderId + ", orderDate=" + orderDate + ", merId=" + merId
				+ ", userId=" + userId + ", amount=" + amount + ", bproductId=" + bproductId + ", pproductId="
				+ pproductId + ", trace=" + trace + ", tradeNo=" + tradeNo + ", payState=" + payState + ", userType="
				+ userType + ", retCode=" + retCode + ", retMsg=" + retMsg + ", notifyType=" + notifyType
				+ ", bankCheckDate=" + bankCheckDate + "]";
	}
}
